﻿@using Microsoft.AspNet.Identity
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="icon" type="image/png" href="~/Content/img/fav.ico">

    <title>WriterStars</title>
    @Styles.Render("~/Content/css")
    @Scripts.Render("~/bundles/modernizr")
    <link href="~/Content/flat-ui.css" rel="stylesheet" />
    <link href="~/Content/Site.css" rel="stylesheet" />
    <link href="~/Content/facitwebfont.css" rel="stylesheet" />
    <link href="~/Content/wysihtml/bootstrap3-wysihtml5.min.css" rel="stylesheet" />
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">

</head>
<body>
    <div class="body-wrapper">
        <div class="body-content container">
            @RenderBody()
        </div>
        <div class="container">
            <footer>
                &copy; @DateTime.Now.Year - WriterStars
            </footer>
        </div>
    </div>

    @Scripts.Render("~/bundles/jquery")
    @Scripts.Render("~/bundles/bootstrap")

    @*<script>
        window.fbAsyncInit = function () {
        FB.init({
        appId: '1422591451368362',
        xfbml: true,
        version: 'v2.2'
        });
        };

        (function (d, s, id) {
        var js, fjs = d.getElementsByTagName(s)[0];
        if (d.getElementById(id)) { return; }
        js = d.createElement(s); js.id = id;
        js.src = "//connect.facebook.net/en_US/sdk.js";
        fjs.parentNode.insertBefore(js, fjs);
        }(document, 'script', 'facebook-jssdk'));
        </script>*@

    <!-- test script -->
    <script>

        // This is called with the results from from FB.getLoginStatus().
        function statusChangeCallback(response) {
            console.log('statusChangeCallback');
            console.log(response);
            // The response object is returned with a status field that lets the
            // app know the current login status of the person.
            // Full docs on the response object can be found in the documentation
            // for FB.getLoginStatus().
            if (response.status === 'connected') {
                // Logged into your app and Facebook.
                testAPI();
            } else if (response.status === 'not_authorized') {
                // The person is logged into Facebook, but not your app.
                document.getElementById('status').innerHTML = 'Please log ' +
                  'into this app.';
            } else {
                // The person is not logged into Facebook, so we're not sure if
                // they are logged into this app or not.
                document.getElementById('status').innerHTML = 'Please log ' +
                  'into Facebook.';
            }
        }

        // This function is called when someone finishes with the Login
        // Button.  See the onlogin handler attached to it in the sample
        // code below.
        function checkLoginState() {
            FB.getLoginStatus(function (response) {
                statusChangeCallback(response);
            });
        }

        window.fbAsyncInit = function () {

            // Now that we've initialized the JavaScript SDK, we call
            // FB.getLoginStatus().  This function gets the state of the
            // person visiting this page and can return one of three states to
            // the callback you provide.  They can be:
            //
            // 1. Logged into your app ('connected')
            // 2. Logged into Facebook, but not your app ('not_authorized')
            // 3. Not logged into Facebook and can't tell if they are logged into
            //    your app or not.
            //


            window.fbAsyncInit = function () {
                FB.init({
                    appId: @(!this.Request.IsLocal ? "1422591451368362" : "1422636174697223"),
                    xfbml: true,
                    version: 'v2.2'
                });
            };

            //--- real up

            //---local down
            //FB.init({
            //    appId: '1422636174697223',
            //    xfbml: true,
            //    version: 'v2.2'
            //});

            // These three cases are handled in the callback function.
            FB.getLoginStatus(function (response) {
                statusChangeCallback(response);
            });
        };

        (function (d, s, id) {
            var js, fjs = d.getElementsByTagName(s)[0];
            if (d.getElementById(id)) { return; }
            js = d.createElement(s); js.id = id;
            js.src = "//connect.facebook.net/en_US/sdk.js";
            fjs.parentNode.insertBefore(js, fjs);
        }(document, 'script', 'facebook-jssdk'));


        // Here we run a very simple test of the Graph API after login is
        // successful.  See statusChangeCallback() for when this call is made.
        function testAPI() {
            console.log('Welcome!  Fetching your information.... ');
            FB.api('/me', function (response) {
                console.log('Successful login for: ' + response.name);
                document.getElementById('status').innerHTML =
                  'Thanks for logging in, ' + response.name + '!';
            });
        }


    </script>
    <!-- end test script -->

    <script src="~/Scripts/bootstrap3-wysihtml5.all.min.js"></script>
    <script>
        function namespace(namespaceString) {
            var parts = namespaceString.split('.'),
                parent = window,
                currentPart = '';

            for (var i = 0, length = parts.length; i < length; i++) {
                currentPart = parts[i];
                parent[currentPart] = parent[currentPart] || {};
                parent = parent[currentPart];
            }
            return parent;
        }

        var myApp = namespace('myApp');
        myApp.currentUserId = '@this.User.Identity.GetUserId()';



        myApp.upvote = function (bookId) {
            $.post('/Book/Like/', 'bookId=' + bookId, function (data, status) {
                var $likesSpan = $('#likes-count[book="' + bookId + '"]');
                var currentCount = parseInt($likesSpan.html());
                $likesSpan.html(currentCount + 1);
                $('.like-btn').hide();
                $('.dislike-btn').show('fade');
            });
        }

        myApp.downvote = function (bookId) {

            $.post('/Book/Dislike/', 'bookId=' + bookId, function (data, status) {
                var $likesSpan = $('#likes-count[book="' + bookId + '"]');
                var currentCount = parseInt($likesSpan.html());
                $likesSpan.html(currentCount - 1);
                $('.dislike-btn').hide();
                $('.like-btn').show('fade');
            });
        }
    </script>




    @RenderSection("scripts", required: false)
</body>
</html>
